package com.wef.system.service;

import java.util.List;

import com.gfa4j.service.BaseService;
import com.wef.system.entity.AclConfigEntry;
import com.wef.system.entity.AclPermission;
import com.wef.system.entity.Role;

public interface AclPermissionService extends BaseService {
	
	/**
	 * 获得所有的AclConfigEntry
	 * @return List<AclConfigEntry>
	 */
	public List<AclConfigEntry> loadAclConfigEntrys();
	
	/**
	 * 保存修改AclPermission
	 * @param aclPermission
	 * @return aclPermission
	 */
	public AclPermission saveOrUpdateAclPermission(AclPermission aclPermission);
	
	/**
	 * 复制用户资源权限
	 * @param targetRoleId
	 * @param sourceRoleId
	 * @return
	 */
	public Role txRequiredCopyRolePermission(String targetRoleId, String sourceRoleId);
	
	/**
	 * 获得角色和角色拥有的资源权限
	 * @return List
	 */
	@SuppressWarnings("unchecked")
	public List loadAllRoleAndAclPermission();
}
